<?php

/**
 * 常量访问对象
 *
 * @version $Id: IMintConsts.php 312 2008-04-23 16:29:38Z iwind $
 * @package util.mint
 * @since 0.0.2
 */
class IMintConsts extends IObject {
	/**
	 * 判断属性是否存在
	 *
	 * 在本类中，该方法恒返回true
	 * 
	 * @param string $varname 属性名
	 * @return boolean
	 */
	public function __isset($varname) {
		return true;
	}	
	
	/**
	 * 取得属性值
	 *
	 * @param string $varname 属性名
	 * @return mixed
	 */
	public function __get($varname) {
		if (defined($varname)) {
			return constant($varname);
		}
		switch ($varname) {
			case "__FILE__":
				return __FILE__;
			case "__CLASS__":
				return __CLASS__;
			case "__LINE__":
				return __LINE__;
			case "__FUNCTION__":
				return __FUNCTION__;
			case "__METHOD__":
				return __METHOD__;
			case "__URI__":
				return IServer::getRequestUri();
			case "__URL__":
				return IServer::getRequestPath();
		}
	}
}

?>